#ifndef ELK_APPLICATION_H
#define ELK_APPLICATION_H

#include <QApplication>

class ElkApplication : public QApplication
{
    Q_OBJECT

public:
    ElkApplication(int &argc, char **argv);

signals:
    void msgWorkScheduled(QPrivateSignal);

private slots:
    void onMsgWorkScheduled(QPrivateSignal);

private:
    virtual void timerEvent(QTimerEvent *event) Q_DECL_OVERRIDE;

private:
    friend class ElkBrowserApp;
    struct Deleter {
        static inline void cleanup(ElkBrowserApp *pointer) {Q_UNUSED(pointer)}
    };
    QScopedPointer<ElkBrowserApp, Deleter> delegate_;

    int timerIdDoMsgWork_ = 0;
};

#endif // ELK_APPLICATION_H
